import Vue from 'vue'
import Vuex from 'vuex'
import { getUserInfo } from '@/api/User.js'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 用户信息
    userInfo: '',
    // 保存登录状态
    isLogin: false,
    // 性别信息
    genderData: {
      0: '未知',
      1: '男',
      2: '女'
    }
  },
  mutations: {
    setUserInfo (state, data) {
      state.userInfo = data
    },
    setIsLogin (state, data) {
      state.isLogin = data
    }
  },
  actions: {
    async setUserInfo (context) {
      // 获取最新的用户信息
      const res = await getUserInfo()
      // console.log(res)
      // actions内使用context(上下文环境)调用mutations内的方法
      // 传入最新的用户信息进行保存
      context.commit('setUserInfo', res.data)
    }
  },
  modules: {}
})
